package M_zhouyi_k_line_analyse;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(k_line_zhouyi_8guatimewindows_analyse);
#按照《易经科学新解》对K线进行再次分析
#对周K线进行8卦时间窗的分析
sub k_line_zhouyi_8guatimewindows_analyse
{
	#八卦时间之窗，以八卦轮的滚动循环为基础
	#找出故事可能出现定点和底点的时间窗口
	#八卦在股市中的一些意义象征
	#1乾——天——健、起始、萧煞
	#2兑——泽——低、愉悦、毁折
	#3离——火——火、明察、检查
	#4震——雷——震、执法、转折
	#5巽——风——散、风声、消息
	#6坎——水——险、跳水、大跌
	#7艮——山——止、升高、停止
	#0(8)坤——地——顺、终结、末尾
	#八卦年月周的计算
	#八卦年：公历年份%8
	#八卦月：(公历年+公历月)%8
	#八卦周：(公历年+公历月+周日的日期%8)%8
	#也就是每周要统计自己的周日是哪天
	#这个适合用周K线进行分析
	#首先对于周线先吧年月周的八卦表示出来
	#使用hash的时候发现作用域的不同对使用有影响
	#如果这个放到外面初始化，那么会出现没有hash
	#值的情况。
	#应该是要放到调用点的前面，但是这样就会让程序
	#可读性降低。最后后面是模块化方式
	my %number_bagua = (
		1 => "乾",2 => "兑",3 => "离",4 => "震",
		5 => "巽",6 => "坎",7 => "艮",0 => "坤",
	);
	my ($date,$start,$max,$min,$end,$vol) = @_;
	my $res = "";
	if($date =~ m/(\d+\/){2}\d+-(\d+\/){2}\d+/) {
		#每周的年月周以第一天开始也就是周日
		#首先获取最开始一天所在的星期数
		my ($week_begin_date,$week_end_date) = split /-/,$date;
		my $first_week_day = `date -d $week_begin_date "+%u"`;
		chomp($first_week_day);
		#由于股市只有星期一到星期五的时间，所以对应的数字往
		#前推就是周日的日期
		my $first_date_of_week = `date -d "$week_begin_date - $first_week_day day" "+%Y/%m/%d"`;
		chomp($first_date_of_week);
		my ($year,$month,$day) = split /\//,$first_date_of_week;
		#print "$date\n";
		my $bagua_year = $year % 8;
		my $bagua_month = ($year + $month) % 8;
		my $bagua_week = ($year + $month + $day % 8) % 8;
		#print "$number_bagua{'0'}/$number_bagua{'1'}/$number_bagua{'2'}\n";
		# if (exists $number_bagua{$bagua_year}) {
		# 	print "exists $number_bagua{$bagua_year}\n";
		# } else {
		# 	print "$bagua_year not a key in number_bagua\n"
		# }
		#构造字符串
		$res = "八卦年:".$number_bagua{$bagua_year}.";八卦月:".$number_bagua{$bagua_month}.";八卦周:".$number_bagua{$bagua_week};
	}
	return $res;
}
